home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 123
/
(Vol 123) Jan 13 2011.iso
/
Games
/
hand_jibe.swf
/
scripts
/
frame_3
/
DoAction.as
Wrap
Text File
|
2011-01-13
|
32KB
|
1,188 lines
function getUserInfo(scope, callback)
{
var _loc1_ = _global;
var _loc2_ = this;
var _loc3_ = _root;
stop();
lVars = new LoadVars();
lVars.onLoad = function(success)
{
var _loc1_ = _global;
var _loc2_ = this;
var _loc3_ = _root;
_loc1_.userInfoObj = new Object();
_loc1_.userInfoObj.userName = lVars.user_name;
_loc3_.mcDebug.dTrace("[getUserInfo]user_name:" + _loc1_.userInfoObj.userName);
_loc1_.userInfoObj.isLoggedIn = function()
{
var _loc1_ = this;
_root.mcDebug.dTrace("this.userName:" + _loc1_.userName);
return _loc1_.userName != "Anonymous" and _loc1_.userName != "" and _loc1_.userName != undefined;
};
_loc3_.mcDebug.dTrace("logged in ?:" + _loc1_.userInfoObj.isLoggedIn());
callback.call(scope,1);
};
lVars.onLoadError = function()
{
trace("error getting user info");
};
lVars.sendAndLoad("http://www.pizmogames.com/levelheads/php/get_user_info.php",lVars,"POST");
}
function loadFps(x, y)
{
var _loc1_ = _root;
_loc1_.createEmptyMovieClip("mcFps",_loc1_.getNextHighestDepth());
_loc1_.mcFps.loadMovie(_global.baseUrl + "shared/fps/fps.swf");
_loc1_.mcFps._x = x;
_loc1_.mcFps._y = y;
}
function getUserInfo_cb()
{
_root.play();
}
function dTrace(str)
{
if(_root.mcDebug == undefined)
{
trace(str);
}
else
{
_root.mcDebug.dTrace(str);
}
}
function postHighScoreClicked()
{
if(_root.highScoreData == undefined)
{
_root.highScoreData = new Object();
}
determineScore();
loadHighScoreHub();
}
function determineScore()
{
_root.highScoreData.score = _root.score;
}
function returnToGameFromHighScore()
{
if(_root.highScoreData != undefined)
{
_root.highScoreData = undefined;
}
}
function viewHighScoresClicked()
{
_root.highScoreData = undefined;
loadHighScoreHub();
}
function checkScoreRank(mc)
{
var _loc1_ = _root;
url = "http://www.pizmogames.com/php/highscore/check_score_rank.php";
if(_loc1_.highScoreData == undefined)
{
_loc1_.highScoreData = new Object();
}
determineScore();
lVars = new LoadVars();
lVars.score = _loc1_.highScoreData.score;
lVars.lower_is_better = "0";
lVars.time_period = "daily";
lVars.game_handle = _loc1_.gameInfo.game_handle;
lVars.onLoad = function(success)
{
mcDebug.dTrace("done checking score rank");
_root.mcDebug.dTraceObject(lVars);
trace("your rank is:" + lVars.rank);
rank = Number(lVars.rank);
suffixArr = ["th","st","nd","rd","th","th","th","th","th","th"];
suffix = suffixArr[rank % 10];
if(rank == 12 or rank == 11)
{
suffix = "th";
}
mc.rankTxt = lVars.rank + suffix;
mc.play();
};
lVars.sendAndLoad(url,lVars,"POST");
}
function loadHighScoreHub()
{
_root.createEmptyMovieClip("mcHighScoreHub",999997);
mcHighScoreHub._xscale = 99;
mcHighScoreHub._yscale = mcHighScoreHub._xscale;
if(_global.baseUrl.indexOf("file:",0) == -1)
{
suffix = "?" + random(999999);
}
else
{
suffix = "";
}
_root.mcHighScoreHub.loadMovie(_global.baseUrl + "shared/highScoreHub/highScoreHub.swf" + suffix);
}
function initGlobals()
{
xUnit = 36.8;
yUnit = 36.8;
gDdoubleClickTime = 300;
numRows = 10;
numColumns = 10;
chipArray = new Array();
nextZOrder = 100;
i = 0;
while(i < numRows)
{
chipArray.push(new Array());
i++;
}
straightArrays = new Array();
stopSignTimeCounterMax = 168;
stopSignAnimCounter = 0;
handJibeAnimCounter = 0;
numMessageAnims = 6;
secsPerLevel = 59;
firstWildHandLevel = 3;
}
function initGame()
{
var chip;
var i;
var j;
score = 0;
i = numRows - 1;
while(i >= 0)
{
j = 0;
while(j < numColumns)
{
clipName = "mcChip" + i + j;
if(eval("mcPuzzle.mcChip" + i) == undefined)
{
duplicateMovieClip(mcPuzzle.mcChip,clipName,16384 + nextZOrder);
}
chip = eval("mcPuzzle.mcChip" + i + j);
nextZOrder++;
chipArray[i][j] = chip;
chip._x = 0 + j * xUnit;
chip._y = 50 + i * yUnit;
chip.column = j;
chip.row = i;
chip._visible = false;
chip.num = -1;
j++;
}
i--;
}
i = 0;
while(i < 15)
{
clipName = "mcmessage" + i;
if(eval("mcAllMessages.mcmessage" + i) == undefined)
{
duplicateMovieClip(mcAllMessages.mcmessage,clipName,16384 + nextZOrder);
nextZorder++;
}
message = eval("mcPuzzle.mcMessage" + i);
message.state = "idle";
i++;
}
handJibeFinalX = mcHandJibeAnim._x;
handJibeFinaly = mcHandJibeAnim._y;
if(gamePlayedAlready == undefined)
{
gamePlayedAlready = true;
}
else
{
logActivity("play_again");
}
}
function initLevel()
{
var chip;
var _loc2_ = undefined;
var _loc1_ = undefined;
_loc2_ = numRows - 1;
while(_loc2_ >= 0)
{
_loc1_ = 0;
while(_loc1_ < numColumns)
{
chipArray[_loc2_][_loc1_].mcButton._visible = true;
clearChip(chipArray[_loc2_][_loc1_]);
_loc1_ = _loc1_ + 1;
}
_loc2_ = _loc2_ - 1;
}
mcStopSigns._visible = false;
stopSignTimeCounter = 0;
numRowsDropped = 0;
if(levelNum > 4)
{
_loc2_ = numRows - 1;
while(_loc2_ >= numRows - 2)
{
_loc1_ = 0;
while(_loc1_ < numColumns)
{
setRandomChip(chipArray[_loc2_][_loc1_]);
_loc1_ = _loc1_ + 1;
}
_loc2_ = _loc2_ - 1;
}
numRowsDropped = 2;
}
colToDropChip = 0;
whereToGo = "init loop";
dropDir = 1;
paused = false;
timePaused = 0;
numInitialRows = 1 + Number(levelNum);
trace("numInitialRows:" + numInitialRows);
if(numInitialRows > numRows - 2)
{
numInitialRows = numRows - 2;
}
addChipCounterMax = 75 - levelNum * 12;
trace("addChipCounterMax:" + addChipCounterMax);
if(addChipCounterMax < 4)
{
addChipCounterMax = 7;
}
addChipCounter = addChipCounterMax;
chipJustClicked = false;
if(levelnum > 1)
{
mcSoundObj.playsound("level start");
}
logActivity("level_start_" + levelnum);
}
function stepDropInitialChips()
{
var _loc2_ = undefined;
var _loc1_ = undefined;
var _loc3_ = undefined;
setRandomChip(chipArray[0][colToDropChip]);
if(colToDropChip + dropDir < 0 or colToDropChip + dropDir > numColumns)
{
numRowsDropped++;
if(numRowsDropped == numInitialRows)
{
whereToGo = "play";
startTime = getTimer();
if(levelNum >= firstWildHandLevel)
{
_loc2_ = numRows - 1;
while(_loc2_ >= 0)
{
_loc1_ = 0;
while(_loc1_ < numColumns)
{
if(chipArray[_loc2_][_loc1_].num == 0 and chipArray[_loc2_][_loc1_]._visible)
{
_loc3_ = chipArray[_loc2_][_loc1_];
}
_loc1_ = _loc1_ + 1;
}
_loc2_ = _loc2_ - 1;
}
_loc3_.wildCardFlag = true;
_loc3_.play();
trace("made wild card:" + _loc3_.row + "," + _loc3_.column);
}
}
else
{
dropDir = - dropDir;
mcSoundObj.playSound("contact");
}
}
else
{
colToDropChip += dropDir;
}
moveChipsDown();
}
function setRandomChip(chip)
{
var _loc1_ = chip;
var frm;
if(levelnum >= firstWildHandLevel and random(50) == 1)
{
_loc1_.wildCardFlag = true;
}
else
{
_loc1_.wildCardFlag = false;
_loc1_.num = random(6);
setChipToNum(_loc1_,_loc1_.num);
}
_loc1_._visible = true;
}
function setChipToNum(chip, num)
{
var _loc1_ = chip;
_loc1_.num = num;
_loc1_.gotoAndStop("h" + _loc1_.num);
}
function updateTimer()
{
secsElapsed = int((getTimer() - startTime - timePaused) / 1000);
timer = secsPerLevel - secsElapsed;
}
function step()
{
var _loc2_ = undefined;
var _loc1_ = undefined;
var k;
var chip;
var dir;
if(!paused)
{
moveChipsDown();
if(chipJustClicked)
{
checkCloseEmptyColumns(true);
chipJustClicked = false;
}
if(stopSignTimeCounter > 0)
{
stopSignTimeCounter--;
mcStopSigns.secs = int(stopSignTimeCounter / 24);
if(stopSignTimeCounter == 0)
{
mcStopSigns._visible = false;
}
}
else
{
if(handJibeAnimCounter == 0)
{
addChipCounter--;
}
if(addChipcounter == 0)
{
numFilled = 0;
_loc2_ = 1;
while(_loc2_ < numRows)
{
_loc1_ = 0;
while(_loc1_ < numColumns)
{
if(chipArray[_loc2_][_loc1_]._visible)
{
numFilled++;
}
_loc1_ = _loc1_ + 1;
}
_loc2_ = _loc2_ + 1;
}
filledPercent = numFilled / ((numRows - 1) * numcolumns) * 100;
if(filledPercent == 100)
{
whereToGo = "level lost";
mcSoundObj.playSound("lose");
mcSoundObj.music.setVolume(0);
setRandomChip(chipArray[0][random(numColumns)]);
logActivity("level_lost_" + levelnum);
}
else
{
dropNewChip();
}
}
if(stopSignAnimCounter > 0)
{
mcStopSigns._x += stopSignDx;
mcStopSigns._y += stopSignDy;
stopSignAnimCounter--;
if(stopSignAnimCounter == 0)
{
stopSignTimeCounter = stopSignTimeCounterMax;
mcStopSigns.play();
mcStopSigns._x = stopSignFinalX;
mcStopSigns._y = stopSignFinaly;
}
}
if(handJibeAnimCounter > 0)
{
mcHandJibeAnim._x += handJibeDx;
mcHandJibeAnim._y += handJibeDy;
handJibeAnimCounter--;
if(handJibeAnimCounter == 0)
{
handJibeTimeCounter = handJibeTimeCounterMax;
mcHandJibeAnim.play();
mcHandJibeAnim._x = handJibeFinalX;
mcHandJibeAnim._y = handJibeFinaly;
}
}
}
updateTimer();
if(Number(timer) == 0)
{
levelWon();
}
}
}
function levelWon()
{
whereToGo = "level won";
stopAllSounds();
levMod3 = levelNum - int(levelnum / 3) * 3 + 1;
mcSoundObj.playSound("level won " + levMod3);
mcSoundObj.music.setVolume(0);
logActivity("level_won_" + levelnum);
}
function dropNewChip()
{
foundEmptyColumn = false;
while(!foundEmptyColumn)
{
j = random(numColumns);
if(chipArray[1][j]._visible == false)
{
foundEmptyColumn = true;
}
}
i = 0;
setRandomChip(chipArray[i][j]);
addChipCounter = addChipCounterMax;
if(filledPercent < 50)
{
addChipCounter = int(addChipCounterMax * 0.6);
}
if(filledPercent < 40)
{
addChipCounter = int(addChipCounterMax * 0.45);
}
if(filledPercent < 30)
{
addChipCounter = int(addChipCounterMax * 0.3);
}
if(filledPercent < 20)
{
if(levelNum > 1)
{
addChipCounter = int(addChipCounterMax * 0.1);
}
}
}
function chipClicked(chip)
{
var _loc3_ = chip;
var _loc1_ = undefined;
var _loc2_ = undefined;
resetMessageTypesSetAlready();
sameColorArray = new Array();
sameColorArray.push(_loc3_);
recursivelyCheckForSameColor(_loc3_);
dir = 1;
if(chipArray[_loc3_.row - 1][_loc3_.column].num == _loc3_.num + dir)
{
straightArrays[0] = new Array(chipArray[_loc3_.row - 1][_loc3_.column]);
recursivelyCheckForStraight(chipArray[_loc3_.row - 1][_loc3_.column],dir,straightArrays[0]);
}
if(chipArray[_loc3_.row + 1][_loc3_.column].num == _loc3_.num + dir)
{
straightArrays[1] = new Array(chipArray[_loc3_.row + 1][_loc3_.column]);
recursivelyCheckForStraight(chipArray[_loc3_.row + 1][_loc3_.column],dir,straightArrays[1]);
}
if(chipArray[_loc3_.row][_loc3_.column - 1].num == _loc3_.num + dir)
{
straightArrays[2] = new Array(chipArray[_loc3_.row][_loc3_.column - 1]);
recursivelyCheckForStraight(chipArray[_loc3_.row][_loc3_.column - 1],dir,straightArrays[2]);
}
if(chipArray[_loc3_.row][_loc3_.column + 1].num == _loc3_.num + dir)
{
straightArrays[3] = new Array(chipArray[_loc3_.row][_loc3_.column + 1]);
recursivelyCheckForStraight(chipArray[_loc3_.row][_loc3_.column + 1],dir,straightArrays[3]);
}
chipsToRemove = new Array();
if(_loc3_.num == 1)
{
bunniesFound = new Array();
if(chipArray[_loc3_.row - 1][_loc3_.column]._visible and chipArray[_loc3_.row - 1][_loc3_.column].num == 2)
{
bunniesFound.push(chipArray[_loc3_.row - 1][_loc3_.column]);
}
b = 0;
while(b < bunniesFound.length)
{
rowdir = bunniesFound[b].row - _loc3_.row;
columndir = bunniesFound[b].column - _loc3_.column;
_loc1_ = _loc3_.row;
_loc2_ = _loc3_.column;
keepgoing = true;
while(keepgoing)
{
removeChip(chipArray[_loc1_][_loc2_]);
_loc1_ += rowdir;
_loc2_ += columndir;
if(_loc1_ >= numrows or _loc1_ < 0 or _loc2_ >= numColumns or _loc2_ < 0)
{
keepgoing = false;
}
}
b++;
}
if(bunniesFound.length > 0)
{
mcSoundObj.playsound("match shoot bunny");
setMessage(_loc3_,"shoot the bunny");
}
}
checkPairs(_loc3_,chipArray[_loc3_.row - 1][_loc3_.column]);
checkPairs(_loc3_,chipArray[_loc3_.row + 1][_loc3_.column]);
checkPairs(_loc3_,chipArray[_loc3_.row][_loc3_.column + 1]);
checkPairs(_loc3_,chipArray[_loc3_.row][_loc3_.column - 1]);
if(_loc3_.num == 2 and sameColorArray.length >= 5)
{
_loc1_ = 0;
while(_loc1_ < numRows)
{
_loc2_ = 0;
while(_loc2_ <= numColumns)
{
if(chipArray[_loc1_][_loc2_].num == 1)
{
removeChip(chipArray[_loc1_][_loc2_]);
}
_loc2_ = _loc2_ + 1;
}
_loc1_ = _loc1_ + 1;
}
setMessage(_loc3_,"peace");
mcSoundObj.playsound("match peace");
}
if(_loc3_.num == 5 and sameColorArray.length >= 5)
{
if(stopSignAnimCounter == 0)
{
if(stopSignTimeCounter > 0)
{
stopSignTimeCounter = stopSignTimeCounterMax;
}
else
{
stopSignFinalX = mcStopSigns._x;
stopSignFinaly = mcStopSigns._y;
stopSignAnimCounter = 20;
mcStopSigns._y = _ymouse;
stopSignDx = (stopSignFinalX - mcStopSigns._x) / stopSignAnimCounter;
stopSignDy = (stopSignFinaly - mcStopSigns._y) / stopSignAnimCounter;
mcStopSigns._visible = true;
mcStopSigns.gotoAndStop(1);
mcSoundObj.playSound("match stop sign");
}
}
}
if(sameColorArray.length >= 3)
{
setMessage(_loc3_,"same",sameColorArray.length);
_loc1_ = 0;
while(_loc1_ < sameColorArray.length)
{
removeChip(sameColorArray[_loc1_]);
_loc1_ = _loc1_ + 1;
}
mcSoundObj.playSound("match same " + (random(2) + 1));
}
if(chipsToRemove.length > 0)
{
chipsToRemove.push(_loc3_);
_loc1_ = 0;
while(_loc1_ < chipsToRemove.length)
{
removeChip(chipsToRemove[_loc1_]);
_loc1_ = _loc1_ + 1;
}
}
_loc1_ = 0;
while(_loc1_ < straightArrays.length)
{
playStraightSound = false;
if(straightArrays[_loc1_].length >= 3)
{
playStraightSound = true;
firstNum = straightArrays[_loc1_][0].num;
_loc2_ = 0;
while(_loc2_ < straightArrays[_loc1_].length)
{
removeChip(straightArrays[_loc1_][_loc2_]);
_loc2_ = _loc2_ + 1;
}
removeChip(_loc3_);
if(straightArrays[_loc1_].length >= 6)
{
handJibeAnimCounter = 20;
mcHandJibeAnim._y = _ymouse;
mcHandJibeAnim._x = _xmouse;
handJibeDx = (handJibeFinalX - mcHandJibeAnim._x) / handJibeAnimCounter;
handJibeDy = (handJibeFinaly - mcHandJibeAnim._y) / handJibeAnimCounter;
mcHandJibeAnim._visible = true;
mcHandJibeAnim.gotoAndStop(1);
removeAllChips();
playStraightSound = false;
mcSoundObj.playSound("match hand jibe");
logActivity("hand_jibe_found");
}
else
{
setMessage(_loc3_,"straight",firstNum,firstNum + straightArrays[_loc1_].length - 1);
}
}
straightArrays[_loc1_] = new Array();
if(playStraightSound)
{
mcSoundObj.playSound("match straight");
}
_loc1_ = _loc1_ + 1;
}
chipJustClicked = true;
}
function handJibeAnimDone()
{
mcHandJibeAnim._visible = false;
}
function checkCloseEmptyColumns(soundFlag)
{
var _loc1_ = undefined;
var _loc2_ = undefined;
var _loc3_ = undefined;
playEmptyColumnSound = false;
_loc3_ = 0;
while(_loc3_ < int(numColumns / 2 + 1))
{
columnEmpty = true;
_loc1_ = 0;
while(_loc1_ < numRows)
{
if(chipArray[_loc1_][_loc3_]._visible)
{
columnEmpty = false;
}
_loc1_ = _loc1_ + 1;
}
if(columnEmpty)
{
allPreviousColumnsEmpty = true;
_loc2_ = _loc3_;
while(_loc2_ >= 0)
{
_loc1_ = 0;
while(_loc1_ < numRows)
{
copyOneChipToAnother(chipArray[_loc1_][_loc2_ - 1],chipArray[_loc1_][_loc2_]);
if(chipArray[_loc1_][_loc2_ - 1]._visible)
{
allPreviousColumnsEmpty = false;
}
clearChip(chipArray[_loc1_][_loc2_ - 1]);
_loc1_ = _loc1_ + 1;
}
_loc2_ = _loc2_ - 1;
}
if(!allPreviousColumnsEmpty)
{
playEmptyColumnSound = true;
}
}
columnEmpty = true;
colToCheck = numColumns - _loc3_ - 1;
_loc1_ = 0;
while(_loc1_ < numRows)
{
if(chipArray[_loc1_][colToCheck]._visible)
{
columnEmpty = false;
}
_loc1_ = _loc1_ + 1;
}
if(columnEmpty)
{
allPreviousColumnsEmpty = true;
_loc2_ = colToCheck;
while(_loc2_ < numColumns)
{
_loc1_ = 0;
while(_loc1_ < numRows)
{
if(chipArray[_loc1_][_loc2_ + 1]._visible)
{
allPreviousColumnsEmpty = false;
}
copyOneChipToAnother(chipArray[_loc1_][_loc2_ + 1],chipArray[_loc1_][_loc2_]);
clearChip(chipArray[_loc1_][_loc2_ + 1]);
_loc1_ = _loc1_ + 1;
}
_loc2_ = _loc2_ + 1;
}
if(!allPreviousColumnsEmpty)
{
playEmptyColumnSound = true;
}
}
_loc3_ = _loc3_ + 1;
}
if(soundflag and playEmptyColumnSound)
{
mcSoundObj.playsound("contract column");
}
}
function closeColumnIfEmpty(j, dir)
{
var _loc2_ = j;
var _loc3_ = dir;
var _loc1_ = undefined;
columnEmpty = true;
_loc1_ = 0;
while(_loc1_ < numRows)
{
if(chipArray[_loc1_][_loc2_]._visible)
{
columnEmpty = false;
}
_loc1_ = _loc1_ + 1;
}
if(columnEmpty)
{
_loc1_ = 0;
while(_loc1_ < numRows)
{
copyOneChipToAnother(chipArray[_loc1_][_loc2_ - _loc3_],chipArray[_loc1_][_loc2_]);
clearChip(chipArray[_loc1_][_loc2_ - _loc3_]);
_loc1_ = _loc1_ + 1;
}
}
}
function checkPairs(chip, chipNear)
{
var _loc1_ = chipNear;
var _loc2_ = chip;
if(_loc1_._visible)
{
pairFound = false;
if(_loc1_.num == 5 and _loc2_.num == 2)
{
pairFound = true;
mcSoundObj.playSound("match scissors");
}
if(_loc1_.num == 0 and _loc2_.num == 5)
{
pairFound = true;
mcSoundObj.playSound("match paper");
}
if(_loc1_.num == 2 and _loc2_.num == 0)
{
pairFound = true;
mcSoundObj.playSound("match rock");
}
if(_loc1_.num == 5 and _loc2_.num == 5)
{
if(sameColorArray.length == 2)
{
pairFound = true;
mcSoundObj.playSound("match high five");
}
}
if(pairFound)
{
chipsToRemove.push(_loc1_);
setMessage(_loc2_,"srp",String(_loc2_.num) + String(_loc1_.num));
}
}
}
function resetMessageTypesSetAlready()
{
messageTypesSetAlready = new Array();
}
function setMessage(chip, mtype, param1, param2)
{
var _loc1_ = mtype;
var _loc2_ = param1;
var _loc3_ = chip;
if(messageTypesSetAlready[_loc1_] == undefined)
{
message = findUnusedMessage();
switch(_loc1_)
{
case "srp":
message.content.gotoAndPlay("srp " + _loc2_);
break;
case "straight":
message.content.gotoAndPlay("straight");
message.content.firstNum = _loc2_;
message.content.lastNum = param2;
trace("passed " + _loc2_ + " ," + param2 + " to straight message");
break;
case "same":
message.content.val = _loc2_;
message.content.num = _loc3_.num;
message.content.gotoAndPlay("same");
break;
default:
message.content.gotoAndPlay(_loc1_);
}
message._x = _loc3_._x;
message._y = _loc3_._y - 70;
message.state = "active";
if(_loc3_.column > 0.8 * numColumns)
{
messageAnimNum = random(numMessageAnims / 2 + 1);
}
else
{
messageAnimNum = random(numMessageAnims);
}
trace("anim num:" + messageAnimNum);
message.gotoAndPlay("anim " + messageAnimNum);
messageTypesSetAlready[_loc1_] = true;
}
}
function findUnusedMessage()
{
var i;
var availmessage;
availMessage = undefined;
i = 0;
while(i < 15)
{
message = eval("mcAllMessages.mcMessage" + i);
if(message.state == "idle")
{
availMessage = message;
}
i++;
}
return availMessage;
}
function recursivelyCheckForSameColor(chip, arr)
{
var _loc1_ = chip;
if(_loc1_._visible)
{
checkAddChipToSameColorArray(_loc1_,chipArray[_loc1_.row - 1][_loc1_.column]);
checkAddChipToSameColorArray(_loc1_,chipArray[_loc1_.row + 1][_loc1_.column]);
checkAddChipToSameColorArray(_loc1_,chipArray[_loc1_.row][_loc1_.column + 1]);
checkAddChipToSameColorArray(_loc1_,chipArray[_loc1_.row][_loc1_.column - 1]);
}
}
function checkAddChipToSameColorArray(chip, chipNear)
{
var _loc1_ = chipNear;
if(_loc1_._visible)
{
if(!arrayContainsItem(sameColorArray,_loc1_))
{
if(_loc1_.num == chip.num)
{
sameColorArray.push(_loc1_);
recursivelyCheckForSameColor(_loc1_);
}
}
}
}
function recursivelyCheckForStraight(chip, dir, arr)
{
var _loc1_ = chip;
var _loc2_ = arr;
var _loc3_ = dir;
checkAddChipToStraightArray(_loc1_,chipArray[_loc1_.row - 1][_loc1_.column],_loc3_,_loc2_);
checkAddChipToStraightArray(_loc1_,chipArray[_loc1_.row + 1][_loc1_.column],_loc3_,_loc2_);
checkAddChipToStraightArray(_loc1_,chipArray[_loc1_.row][_loc1_.column + 1],_loc3_,_loc2_);
checkAddChipToStraightArray(_loc1_,chipArray[_loc1_.row][_loc1_.column - 1],_loc3_,_loc2_);
}
function checkAddChipToStraightArray(chip, chipNear, dir, arr)
{
var _loc1_ = chipNear;
if(_loc1_._visible)
{
if(_loc1_.num == chip.num + dir)
{
arr.push(_loc1_);
recursivelyCheckForStraight(_loc1_,dir,arr);
}
}
}
function removeChip(chip)
{
chip.gotoAndPlay("die" + random(3));
chip.num = -1;
score += 10;
}
function clearChip(chip)
{
chip._visible = false;
chip.num = -1;
}
function removeAllChips()
{
var _loc2_ = undefined;
var _loc1_ = undefined;
_loc2_ = numRows - 1;
while(_loc2_ >= 0)
{
_loc1_ = 0;
while(_loc1_ < numColumns)
{
removeChip(chipArray[_loc2_][_loc1_]);
_loc1_ = _loc1_ + 1;
}
_loc2_ = _loc2_ - 1;
}
}
function moveChipsDown()
{
var _loc1_ = undefined;
var _loc2_ = undefined;
var _loc3_ = undefined;
playContactSound = false;
_loc1_ = numRows - 2;
while(_loc1_ >= 0)
{
_loc2_ = 0;
while(_loc2_ < numColumns)
{
_loc3_ = chipArray[_loc1_][_loc2_];
chipBelow = chipArray[_loc1_ + 1][_loc2_];
if(_loc3_._visible and chipBelow._visible == false)
{
copyOneChipToAnother(_loc3_,chipBelow);
_loc3_._visible = false;
if(_loc1_ + 1 == numRows - 1)
{
checkCloseEmptyColumns(false);
}
if(chipArray[_loc1_ + 2][_loc2_]._visible or _loc1_ + 1 == numRows - 1)
{
playContactSound = true;
}
}
_loc2_ = _loc2_ + 1;
}
_loc1_ = _loc1_ - 1;
}
if(playContactSound)
{
mcSoundObj.playSound("contact");
}
}
function copyOneChipToAnother(chipToCopyFrom, chip)
{
var _loc1_ = chipToCopyFrom;
var _loc2_ = chip;
_loc2_.num = _loc1_.num;
if(_loc1_.wildCardFlag)
{
_loc2_.gotoAndPlay(_loc1_._currentframe);
}
else
{
_loc2_.gotoAndStop(_loc1_._currentframe);
}
_loc2_._visible = _loc1_._visible;
_loc2_.wildCardFlag = _loc1_.wildCardFlag;
}
function pauseClicked()
{
mcPausedMessage._visible = true;
_root.mcSoundObj.playSound("click");
pauseGame();
logActivity("pause_clicked");
}
function continueClicked()
{
mcPausedMessage._visible = false;
_root.mcSoundObj.playSound("click");
continueGame();
}
function helpClicked()
{
mcHelp._visible = true;
mcHelp.gotoAndStop(1);
_root.mcSoundObj.playSound("click");
pauseGame();
logActivity("help_clicked");
}
function helpOKclicked()
{
mcHelp._visible = false;
_root.mcSoundObj.playSound("click");
continueGame();
}
function pauseGame()
{
paused = true;
if(mcSoundObj.soundon)
{
soundOnBeforePause = true;
_root.mcSoundObj.toggleSound();
}
else
{
soundOnBeforePause = false;
}
pauseStartTime = getTimer();
}
function continueGame()
{
paused = false;
if(soundOnBeforePause)
{
_root.mcSoundObj.toggleSound();
}
timePaused += getTimer() - pauseStartTime;
}
function arrayContainsItem(arr, item)
{
var _loc2_ = arr;
var _loc3_ = item;
var _loc1_ = undefined;
contains = false;
_loc1_ = 0;
while(_loc1_ < _loc2_.length)
{
if(_loc2_[_loc1_] == _loc3_)
{
contains = true;
}
_loc1_ = _loc1_ + 1;
}
return contains;
}
function getTotalMediaLoadedPct()
{
var _loc1_ = _root;
bytesTotal = _loc1_.getBytesTotal() + _loc1_.mcSoundObj.getBytesTotal();
bytesLoaded = _loc1_.getBytesLoaded() + _loc1_.mcSoundObj.getBytesLoaded();
return bytesLoaded / bytesTotal * 100;
}
function logActivity(activity)
{
url = "activity_log/" + activity + ".swf";
mcLogger.loadMovie(url);
trace("logged:" + url);
}
function sendToAFriend()
{
getUrl("javascript:sendtofriend()", "");
}
function loadTout(mcTout)
{
var _loc2_ = mcTout;
var _loc1_ = _global.baseUrl + "games/handjibe/media/tout" + random(3) + ".swf";
trace("url:" + _loc1_ + "," + _loc2_);
loadMovie(_loc1_,_loc2_);
}
MENU = new ContextMenu();
MENU.hideBuiltInItems();
Functioned = new ContextMenuItem("Copyright © Pizmo Games",undefined);
MENU.customItems.push(Functioned);
_root.menu = MENU;
urlArr = this._url.split("/");
_global.baseUrl = "";
var i = 0;
while(i < urlArr.length - 3)
{
_global.baseUrl += urlArr[i] + "/";
i++;
}
trace("_global.baseUrl:" + _global.baseUrl);
_global.padString = function(str, char, num)
{
var _loc2_ = num;
var _loc3_ = char;
var _loc1_ = str;
while(_loc1_.length < _loc2_)
{
_loc1_ = _loc3_ + _loc1_;
}
return _loc1_;
};
String.prototype.pluralize = function(num)
{
if(Math.abs(num) > 1)
{
this += "s";
}
};
Array.prototype.duplicateArray = function()
{
var _loc3_ = this.length;
var _loc2_ = new Array();
var _loc1_ = 0;
while(_loc1_ < _loc3_)
{
_loc2_.push(this[_loc1_]);
_loc1_ = _loc1_ + 1;
}
return _loc2_;
};
Array.prototype.getPos = function(val)
{
var _loc2_ = this;
var _loc3_ = -1;
var _loc1_ = undefined;
_loc1_ = 0;
while(_loc1_ < _loc2_.length)
{
if(_loc2_[_loc1_] == val)
{
_loc3_ = _loc1_;
}
_loc1_ = _loc1_ + 1;
}
return _loc3_;
};
Array.prototype.deleteItem = function(item)
{
var _loc1_ = this.getPos(item);
if(_loc1_ != -1)
{
this.splice(_loc1_,1);
}
};
_root.createEmptyMovieClip("mcDialogue",_root.getNextHighestDepth());
dialogueClipLoader = new MovieClipLoader();
dialogueClipLoader.onLoadError = function()
{
};
dialogueClipLoader.onLoadInit = function()
{
};
url = _global.baseUrl + "shared/interfaceElements/dialogue.swf";
dialogueClipLoader.loadClip(url,_root.mcDialogue);
System.security.allowDomain("pizmogames.com");
showDebugLog = false;
if(showDebugLog)
{
_root.createEmptyMovieClip("mcDebug",_root.getNextHighestDepth());
_root.mcDebug._x = 530;
loader = new MovieClipLoader();
loader.onLoadInit = function()
{
};
loader.onLoadError = function(s)
{
trace("error loading :" + s);
};
loader.loadClip(_global.baseUrl + "shared/debug/debugLog.swf",_root.mcDebug);
}
showFps = false;
if(showFps)
{
loadFps(5,5);
}
if(_root.gameInfo == undefined)
{
_root.gameInfo = new Object();
}
_root.gameInfo.game_handle = "handjibe";
_root.gameInfo.scoreDataType = "number";
_root.gameInfo.game_name_full = "Hand Jibe";
_root.gameInfo.lower_scores_better = "0";
_quality = "high";